Fantasy football system and method

ABSTRACT

An on-line, multi-player internet based application that is adapted for playing fantasy football in the trenches, i.e., for playing fantasy football in a way that accounts for the values associated with the contributions to the overall game made by the special units and players who fight in the trenches, that is, the linemen and special team players.

CROSS REFERENCE TO RELATED APPLICATION

This application claims the benefit of application Ser. No. 61/206,381 (“the '381 application”) filed Jan. 30, 2009, and application Ser. No. 61/286,931 (“the '931 application”), filed Dec. 16, 2009, both of which are incorporated by reference herein.

FIELD OF INVENTION

The invention relates generally to a computer implemented system and method for playing simulated football games of the type commonly referred to as “fantasy football”.

BACKGROUND OF INVENTION

Numerous versions of on-line fantasy football systems and methods are known. Most, if not all known games and systems are directed to scoring touchdowns and players with big names, agents and high dollar value contracts. Such games, methods and systems are not directed to other aspects of the game of football that are critical in real-live football games, such as the team units and players that keep drives alive, move the ball down the field and put their teams in a position to score and win. These aspects of the game of football are often referred to as the “trenches” due to the hard fought, but unglamorous nature of the fighting. The units and players that are engaged in the trenches are the offensive lines, defensive lines, punting squads, kickoff teams, placekicking units, defensive secondary and returns specialists. As described in the '381 application and the '931 application methods are provided for game play that takes into account these units, players and aspects of the game. Described below are preferred embodiments and designs for a on-line fantasy football system adapted for the methods provided in the '381 application and the '931 application, that is for example, a system in which actions taken by the player at the offensive and defensive lines or other units are assigned values and by these values contribute to the overall gaming experience. Preferred system architecture and related descriptions are provided in relation to these conventional fantasy football systems.

SUMMARY OF INVENTION

An on-line, multi-player internet based application that is adapted for playing fantasy football in the trenches, i.e., for playing fantasy football in a way that accounts for the values associated with the contributions to the overall game made by the special units and players who fight in the trenches, that is, the linemen and special teams.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing aspects and the attendant advantages of the present invention will become more readily appreciated by reference to the following detailed description, when taken in conjunction with the accompanying drawings that are embedded in the text of the specification, and each of which is briefly described with an appropriate legend.

DETAILED DESCRIPTION

Embodiments of the present fantasy football system and methods described herein are preferably deployed as a web application for use in modern day internet browsers, such as Internet Explorer 7 or newer, Firefox 3 or newer. The user interface and front end preferably will be an ‘Adobe Flash’ movie embedded in html, thus allowing for a high quality user interface, rich user interaction and experience, and because it is compatible with all known modern browsers. Preferably backend communication and processing tasks for the system and method will be handled using ‘PHP’ to communicate between the server and client sides of the system. Also, all modern web hosting providers provide PHP capabilities to their clients so their benefits are available to end users by using a site hosted by the providers. The present fantasy football system preferably includes persistent data storage capability, which is believed to be achieved using one or more MySQL databases on the server side. Flash, PHP and MySQL applications are preferably employed due to their readily availability and popularity. The system preferably will also subscribe to a TSN SportsML feed to obtain statistics and data needed for meet the functional requirements of the system.

System Overview

The larger sites like espn, cbs and yahoo, do not use flash for their fantasy games. Flash is preferred for the GUI element of the present system because flash offers a richer user experience and is believed to provide additional differentiation of the present system from conventional fantasy football systems.

Shown in FIG. 1 is an example of the preferred basic architecture for the present system. The preferred system includes various preferred functional capabilities.

Preferred Functional Capabilities:

Preferred functionality of the system includes:

-   -   Support for a user to sign up/register to be able to play         fantasy football using the preferred methods, herein after         referred to as “Trench Fantasy”, as further described in the         '381 application and the '931 application.     -   Support for an existing user to edit user information.     -   Display a ‘Team’ UI to a user where a user can handle any team         related functionality.     -   Support the ability for a user (team owner) to create, edit, and         update ‘Teams’ and ‘Starting line-ups’ by providing         functionality for a user to:         -   Create and edit a ‘Team Name’.         -   Create and edit ‘Team Motto’.         -   Create, customize and upload a ‘Team Logo’.         -   Create and upload a ‘Team Photo’.         -   Create, view, and manage a ‘Team Roster’.         -   Select and view Statistics/Results for a roster on a weekly             or whole season basis.         -   Links to roster with opponents for all weeks of the season.         -   Create and edit a ‘Starting Line-up’ comprising 6             starters/team units         -   Compare ‘Starting Line-up’ with projected opponent (view             Match-Up).         -   Propose, complete or cancel a ‘Trade’.         -   Add/Drop/Substitute players.     -   Establish, confirm password, security question, with this         functionality included under sign/up register support.     -   View Upcoming Weekly Match Ups with projected scoring.     -   View League-wide Player Performance info overall, by position,         by team.     -   Ability to view standout performers from previous week (team         unit/individual player/team owner).     -   Support the concept of a ‘Draft’ by providing functionality for         a user to:         -   Draft a team unit/player to their team, with the user being             a Team Owner).         -   Create/Set up a draft by defining a draft date and draft             type, with the user being a Commissioner.         -   Choose between a live draft and an automated draft, with the             user being a Commissioner.         -   View pre-draft rankings for players/team units.         -   Create Draft Board with desired team by position (team             owner).         -   Maintain real-time ‘needs’ for live draft (team owner).         -   Track draft summaries overall, by position, by team (team             owner).         -   Create and edit draft rosters for all teams (commissioner             non-live draft).     -   Display a ‘League’ UI to a user where a user can handle any         league related functionality.     -   Support for the creation and storage of an unlimited number of         ‘Leagues’.     -   Support for a user to be able to join a ‘public league’ through         a sign up process pre-season to ‘join’ a group and individually         during the season to draft/compete weekly with ‘public’ of         unlimited number of teams.     -   Support the ability for a user (commissioner) to create and edit         a ‘League’ by providing functionality for a user to:         -   Create and edit a ‘League Name’.         -   Create and define a Commissioner for a league.         -   Define sharing of commissioner of duties (1×, few times,             always).         -   Define the number of teams in a league to be either 6,8,10,             or teams. (User is a Commissioner).         -   Record, store and edit information about teams in a league,             with the user being a Commissioner, who is able to             add/remove after creating.         -   Edit the rules of a league with the user being a             Commissioner.         -   Edit the trade rules of a league with the user being a             Commissioner.         -   Set schedules and playoffs for a league with the user being             a Commissioner.         -   Either select default scoring or customize scoring for the             league.         -   Run scoring models based on league roster settings.         -   Edit player position eligibility with the user being a             Commissioner.         -   Control the roster for any team in the league for any week             of season with the user being a Commissioner.         -   Track transaction fees if applicable.         -   Able to select Hands off (default) or Custom league             settings.         -   Able to invite team owners to join league.     -   Ability to process online monetary payments via pre-existing         vendor.     -   Support the generation and dispatching of email notifications to         system users.         -   Send email notification to a user (team owner) when a public             league is filled.         -   Send email notification to a user (team owner) to include             key dates, top-line rules and draft logistics.         -   Send email notification to a user (team owner) as a reminder             that they have not updated that week.         -   Send email notification to a user (team owner) which             concerns off season updates, such as relevant news,             transactions, trends and so forth.         -   Send email notification to a user which confirms signup to             the system.         -   Send email notification to a user to invite that user to a             particular league.         -   Send email notification to a user which contains weekly             result information.         -   Send email notification to a user which contains trade             notices.         -   Send weekly league news ‘League Performance’ email, for             example, who's up, down, questionable.         -   Ability to create a structured email via help forms.     -   Ability to subscribe to, and access information from a real time         data provider for NFL sports statistics, news and schedules         (SportsML) on a weekly basis.     -   Ability to track and report on real time information and/or         statistics relating to performance, news, transactions, and         updates of players/team units.     -   Ability to use internal scoring system along with real time data         to determine, track, and report on rankings of teams within a         league.     -   Ability to use internal scoring system along with real time data         to determine and display live-scoring information to a user with         regard to users' weekly opponent and progress of all other         league games.     -   Support for comparing different line-ups and simulating ‘what         if’ scenarios.     -   Support for message boards where a user can read or post         messages.     -   Functionality to include video league content, such as from         YouTube or other sources.     -   Ability to store and display information related to a FAQ         section, rules and scoring.     -   Ability to allow a user to access customer service channels.     -   Support for the generation and display of a ‘Leader Board’ using         team rankings.         -   Leader board has ability to track overall leader.         -   Leader board has ability to track weekly leader.     -   Leader board has ability to track leader over some specified         period.     -   Ability to accommodate multiple users concurrently.     -   Ability to post league news such as weekly summaries on a main         league page.     -   Ability to run hypothetical matchups to see results, if for         example playoffs started on a given day.     -   Ability to display user defined ‘hot or not’ statistics as well         and user defined power rankings.     -   Ability to display league game schedules with results for played         games (by week, by team).     -   Ability to view NFL game schedules.     -   Ability to receive and display NFL transaction and injury logs.

Preferred Non-Functional Capabilities:

Listed below or preferred non-functional features of the preferred system fantasy football system.

-   -   A high quality user interface as well as look and feel.     -   User interface should not be overwhelming in terms of         information, so that a user will not feel lost in the page.     -   Web hosting provider to provide functionality to view reports on         site traffic.     -   User interface to reserve placements for standard IAB         advertising delivery system, such as 3-4 ads per page.     -   Secure server-side storage of the scoring system.     -   System scalable to 30000 users initially, then to a much higher         number, such as 500,000 and the up to 1 M users.     -   System to have bandwidth for multiple concurrent users.     -   System is fully functional in Internet Explorer 7 and higher, as         well as Firefox 3 and higher.     -   System incorporates search engine optimization, such as Google         Optimization.

Preferred Design Features:

The preferred system is an online game to be played using a standard desktop computers connected to the internet. Supported browsers are IE7 or newer and Firefox 3 or newer. It is envisioned that versions of the system will be adapted for mobile devices, and versions will also be adapted for linking into to social networking sites such as Facebook.

The web hosting provider will provide adequate bandwidth to support multiple concurrent user connections without slowdown in service to any users.

Preferably databases are provided by web hosting provider, and if so provided the preferred databases will be MySQL databases. Functionality for regular database backups will be provided by the web hosting provider so as to ensure no loss of data essential to the operation of the system.

Preferred Development Methods:

The preferred Trench Fantasy game method and system employs an iterative methodology, as describe below.

High Level System Architecture:

The preferred high level architecture diagram for the Trench Fantasy system is shown in FIG. 2, and includes components and capabilities as further described below.

Flash GUI:

This is the preferred graphical user interface that the end user will interact with to play the Trench Fantasy game as further described in the '381 and '931 applications. It preferably is implemented using Flash and Actionscript 3. This module encapsulates all visual elements of the game and is not intended to have any game logic included in its functionality. This module communicates via messaging back and forth to the ‘Messaging Module’, to request and receive all necessary information for the playing of the game, as shown at 1. To communicate a message to the ‘Messaging Module’ this module makes use of the _POST variable. Messages are received by parsing return HTML or XML from the ‘Messaging Module’.

Messaging Module:

The preferred Messaging module handles the transfer of data between the GUI Module and the Database Server, as shown at 2. The 2 main functions this module performs are:

-   -   1. Translate requests for data from the GUI to SQL queries,         execute those queries and return a result in XML format to the         GUI.     -   2. Update the database server inserting any user inputted data         that should be stored persistently.

Database:

The database handles persistent storage of all game data. For more information see section ‘Database Design’.

Scoring Module:

The preferred scoring module handles game logic as it relates to the accessing and updating of scores in the game. This module communicates consistently with the ‘Real Time Feed Module’, as shown at 4, to receive updated statistics. It processes these statistics, and resolves updated scores using internal scoring logic. The module stores the most up to date scores by inserting them into the database, as shown at 3. This ensures that any database will contain near real time information, which in turn can be communicated to end users playing the game. This module is preferably placed on the server side and only allowed to communicate with other server side components to minimize exposure of the scoring system logic.

Real Time Feed Module:

This module interfaces with the external Real Time Feed Provider to continuously receive updated statistics. These statistics are communicated to the Scoring Module where game scores can be updated accordingly.

Use Case Descriptions:

This section contains brief descriptions along with diagrams or figures used to illustrate the functional capabilities of the system to takes specific actions in various scenarios that end users, such as team owners or commissioners will encounter while interacting with the preferred Trench Fantasy game system.

General Use Cases: Sign Up:

Referring to FIG. 3, this use case describes a typical scenario and processing steps for a new user to sign up to use a preferred Trench Fantasy (Team Owners and Commissioners) system.

Login:

Referring to FIG. 4, the Login case describes a typical scenario and processing steps for an existing user to log in to use Trench Fantasy (Team Owners and Commissioners) system.

Post Message:

Referring to FIG. 5, the Post Message case describes a typical scenario and processing steps for a user posting a message to the League Message board.

Team Owner Based Use Cases: Join a League:

Referring to FIG. 6, the Join a League case covers a typical scenario and processing steps for a user to join a public league.

Search for League:

Referring to FIG. 6, the Search for League case covers a typical scenario and processing steps for a user to search for a specific league in the Trench Fantasy system. Search criteria include option of entering team owner email, commissioner email, or league name.

Create a Team:

Referring to FIG. 8, the Create a Team case covers a typical scenario and processing steps for a user to create a team within a league in the preferred Trench Fantasy system.

Edit a Team:

Referring to FIG. 9, the Edit a Team case covers a typical scenario and processing steps for a user to edit information about a team previously created by them.

Participate in Draft:

The system and method, not shown in the figures, includes a Participate in Draft case in which users can participate in player or unit drafts. To participate in a draft with the system:

-   -   1. The user selects “Draft Central” text on the League home         page.     -   2. The “Draft Central” window is displayed, with team units         ordered by position.     -   3. (a) The user selects team units they wish to draft for their         team (live draft), or (b) the user selects multiple team units         by position they wish to draft for their team (automated draft).     -   4. The Draft Picks screen is displayed and displayed information         is updated each time a team unit selection has occurred.     -   5. The Completed Line-Up is displayed on screen with dropdown         windows for viewing all other Line-ups in the league resulting         from the draft.

View Team Roster:

Referring to FIG. 10, the View Team Roster case covers a typical scenario and processing steps for a user to view his/her team Roster.

Add/Drop Team Units:

Referring to FIG. 11, the Add/Drop Team Units case covers a typical scenario and processing steps for a user to add or drop a unite from his/her team Roster.

View Schedules:

Referring to FIG. 12, the View Schedule case covers a typical scenario and processing steps for a user to view the schedules for head to head, and playoff matches within the users' league.

View Fantasy News and Notes/View Transaction and Injury Log:

Referring to FIG. 13, the View Fantasy News and Notes, Transactions and Injury Log case covers a typical scenario and processing steps for a user to view the news and notes section as well as the transaction and injury section of Trench Fantasy.

Create Starting Line-Up/Edit Starting Line-Up:

Referring to FIG. 14, the Create/Edit Starting Line-up case covers a typical scenario and processing steps for a user to create and/or edit the starting line-up for their team.

View Leader Boards:

Referring to FIG. 15, the View Leader Boards case covers a typical scenario and processing steps for a user to view the leader boards for their league in the Trench Fantasy system.

View Statistics:

Referring to FIG. 16, the View Statistics case covers a typical scenario and processing steps for a user to view league statistics within their league.

View Live Scoring:

Referring to FIG. 17, the View Live Scoring case covers the typical scenario and processing steps for a user to view real time scoring within the Trench Fantasy system during a period when the real time feed is actively relaying NFL game time statistics to the Trench Fantasy system.

Commissioner Use Cases: Create a League:

Referring to FIG. 18, the Create a League case describes a typical scenario and processing steps for a user to create a league within the Trench Fantasy system.

Edit League Rules:

Referring to FIG. 19, the Edit League Rules case covers a typical scenario and processing steps for a user to edit the rules of the league for which they are commissioner.

Add User to League:

Referring to FIG. 20, the Add User to League case covers the typical scenario and processing steps for a commissioner to add a user their league.

Remove User from League:

Referring to FIG. 21, the Remove User from League case covers a typical scenario and processing steps for a commissioner to remove a user from their league.

Edit League Scoring:

Referring to FIG. 22, the Edit League Scoring case covers a typical scenario and processing steps for a commissioner to edit and customize the way points are allocated within their league.

Set Head to Head/Playoff Schedules:

Referring to FIG. 23, the Set Schedules case describes a typical scenario and processing steps for a commissioner to define head to head schedules as well as playoff schedules for the teams within the league.

Set Trade/Waiver/Free Agent Deadlines:

Referring to FIG. 24, the Set Deadlines case describes a typical scenario and processing steps for a commissioner to define cut off dates for the various deadlines in their Trench Fantasy League.

Email League Members:

Referring to FIG. 25, the Generate/Send Email case describes a typical scenario and processing steps for a commissioner to send emails to team owners within their league.

View League Rosters:

Referring to FIG. 26, the View League Rosters case describes a typical scenario and processing steps for a commissioner to view the rosters of all the teams in their league.

Database Design:

Referring to FIGS. 27A and 27B, a preferred database design diagram and functionality for the Trench Fantasy system is shown and described.

Referring to FIGS. 28-34, examples of various statistics are provided. FIG. 28 presents preferred offensive line statistics; FIG. 29 presents preferred defensive line statistics; FIG. 30 presents preferred field goal and point after touchdown statistics; FIG. 31 presents preferred punting statistics; FIG. 32 presents various miscellaneous defensive statistics; FIG. 33 presents various kick-off related statistics; and FIG. 34 presents various preferred scoring statistics.

Additional Options in Regard to the Preferred System:

The login function optionally could have the ability to save a password, and include a “forgot password” prompt.

The post message function could also include a “hover” or “click” on the My League Tab/Message Board. The Message Board could also be displayed in page layout and could be entered directly.

The “Join a League” function is set for the typical scenario for a user to join a public league, but could be set up for an approval based system in which the potential user would send a request to join a league on a request form that was provided by the system.

The “Search for League” function could include an option for entering team owner e-mail, commissioner e-mail or league name to find a league. The system could also provide for a user to get to the league page from an invite e-mail from the commissioner.

The “Create a Team” function could also include hovers or clicks, and a “Final Team Created” message could include a summary of team information that was input and could then list the next steps for the owner to perform.

The “Team Edit” function could also be a button on the “My Team” page and not part of the drop down structure.

The “Add/Drop Team Units” function could have a “pick from list”, or check boxes for selecting within the Roster Page as an alternative to highlighting the team unit and then hitting the button. Also, the capability to view available replacement positions could be provided as an alternate. For trading, an option could include a listing of who is available, or to enable a user to propose a specific trade. Also, options could be provided for availabilities for “This Week”, “By Team”, or “Overall”.

The “Create Starting Line-up/Edit Starting Line-up” functions could also include not only the team's starters and bench players, but also show the opponent's players at each position, as well as performance data, such as last week points, average points, hi/low points. The line-up could be set multiple times, up until a deadline set by the league. Roster deadline could also be provided on this screen.

The “View Leader boards” function could be named “Standings” or some other descriptive term, and there could be multiple variations of standings and rankings in this area.

The “View Live Scoring” function could be set up so that it automatically appears on the screen after login during game day. The page would show not only live scoring for the owner's game, but could be set up for viewing other games too, either on the same page or on another page(s) by clicking an appropriate button.

In the Commissioner's section, the “Create a League” functionality could be set up so that after login, a “start/create leagues” button is presented, to avoid a need to hover or use a tab. The commissioners could also be provided with an option to get information on games, rosters, scoring and FAQ's. There could also be an option “to share commissioner duties” and then to designate by e-mail others who will share the duties. Also, the League-created messages could be adapted to contain a summary of decisions and information of concern/use to the owners.

The “Edit League Rules” function could also include an edit function on the rules page for commissioners rather than to include only in a drop down function. Also, schedules and playoffs could be in a dropdown, and an edit function provided, and an option to send e-mails to owners that would include any new information.

The “Set Trade/Waiver/Free Agent Deadlines” function could also be in a drop down, with an edit function and the capability to e-mail any new information to the owners.

The “Email League Members” function could also have an option check box to send a global message to the entire league, and the capability to save all e-mails sent during a season could be provided so that commissioners could track and have an audit trail.

Although specific embodiments of the invention have been described, various modifications, alterations, alternative constructions, and equivalents are also encompassed within the scope of the invention. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense. It will, however, be evident that additions, subtractions, deletions, and other modifications and changes may be made thereunto without departing from the broader spirit and scope of the invention as set forth in the claims. 

1. A method for playing and determining a winner of a fantasy football game played on multi-player, internet-based computer implemented application including: creating a fantasy football league having one or more divisions; creating 6, 8, 10 or 12 teams per division; assigning a predetermined number of players per team with substitutes permitted at all positions; creating a starting line-up for each team; the starting line-up including: an offensive line; a defensive line; a field goal unit; a kickoff team; a punting unit; a defensive secondary and, a defensive special team; scoring the game on a first level on a basis of pre-designated values for first downs, ball control, efficiency, protecting a quarterback and moving the ball across the field of play to provide a first level score; scoring the game on a second level on a basis of getting the team on offense into the end-zone when the team on offense is within 20-yards from either goal line to provide a second level score; scoring the game on a third level on a basis of penalties, time of possession of the football, pre-designated game changing moments and coaching decisions to provide a third level score; and, adding the first level score, the second level score and the third level score to determine the winner of the fantasy football game.
 2. A method for playing a fantasy football game played on multi-player, internet-based computer implemented application including: creating a fantasy football league having one or more divisions creating 6, 8, 10 or 12 teams per division; assigning a predetermined number of players per team with substitutes permitted at all positions; creating a starting line-up for each team; the starting line-up including: an offensive line; a defensive line; a field goal unit; a kickoff team; a punting unit; a defensive secondary and, a defensive special team; and, scoring the game on a first level on a basis of pre-designated values for first downs, ball control, efficiency, protecting a quarterback and moving the ball across the field of play to provide a first level score.
 3. The method of claim 2 further including scoring the game on a second level on a basis of getting the team on offense into the end-zone when the team on offense is within 20-yards from either goal line to provide a second level score.
 4. The method of claim 2 further including scoring the game on a third level on a basis of penalties, time of possession of the football, pre-designated game changing moments and coaching decisions to provide a third level score.
 5. An on-line, multi-player internet based application for playing a fantasy football games that accounts for values associated with the contributions made by special units and linemen comprising: a database, an internet browser, a user interface, a system processor and a communication application adapted to communicate among and between the database, browser, user interface and system processor; a real-time data source adapted to provide real-time professional football statistics and data to the application; an internet hosting provider adapted to support multiple concurrent user connections to the application; a scoring module adapted to access said real-time data source and process pre-determined football game logic; and, said pre-determined football game logic including pre-designated values for first downs, ball control, efficiency, protecting a quarterback and moving the ball across the field of play to provide a first level score for a first football team and a second football team.
 6. The application of claim 5 wherein said pre-determined game logic including pre-designated values for the first team when the first team is on offense and advances the football into the end-zone when the first team is within 20-yards from either goal line.
 7. The application of claim 5 wherein said pre-determined game logic including pre-designated values for penalties.
 8. The application of claim 5 wherein said pre-determined game logic including pre-designated values for time of possession of the football.
 9. The application of claim 5 wherein said pre-determined game logic including pre-designated values for pre-designated game changing moments.
 10. The application of claim 5 wherein said pre-determined game logic including pre-designated values for coaching decisions. 